Tag: bahasa pemograman

Tag: bahasa pemograman


Alasan html bukan bahasa pemograman

26 May 2022
Alfarizi
#front end #web dev #bahasa pemograman Kita tahu jika html adalah salah satu bahasa penting pada sebuah website dan menjadi wadah untuk bahasa pendukung lain yaitu css dan javascript,tapi apakah html termasuk bahasa pemograman,berikut adalah penjelasannya? ## Kenapa html bukan bahasa pemograman? Jawabannya singkatnya bahkan sudah ada di kepanjangan dari html itu sendiri,yaitu Hypertext **Markup language**,atau dalam bahasa indonesia berarti bahasa markup hypertext.Lalu untuk jawaban panjangnya,html termasul ke dalam bahasa markup, yang mana bahasa markup hanya akan mengatur bagaimana sebuah dokumen di tampilkan, dan untuk html ia akan mengatur bagaimana tampilan sebuah web seperti mengatur heading,menebalkan huruf,membuat tabel dan lain sebagainya,karena pada dasarnya web adalah kumpulan dokumen yang dapat di akses melalui internet.Bahasa markup seperti html tidak bisa melakukan apa yang biasa dilakukan oleh bahasa pemograman yaitu melakukan penyelesaian masalah logika,karena html tidak memilki if statement,looping dan fitur lain yang biasa kita temukan dalam bahasa pemograman.Jadi sebenarnya kurang tepat menyebut html sebagai "Bahasa pemograman html" karena html sama sekali tidak bisa melakukan penyelesaian masalah logika ataupun matematika. ## Tools untuk html Lalu apakah ada software/tools yang membantu kita untuk menambah fitur pemograman pada html?tentu saja ada,beberapa contohnya ada framework javascript seperti react,vue atau svelte dan juga ada jenis tools lain yang membantu kita membawa fitur pemograman ke html yaitu template engine.Template engine sebenarnya memilki tujuan yang hampir sama yaitu membuat tampilan html menggunakan bahasa pemograman ,bedanya template engine tidak hanya menggunakan bahasa javascript,contohnya ada jinja2 yang menggunakan python,blade dengan php dan Haml dengan ruby.Perbeedaan lainnya juga terletak pada letak kode diproses. Jika pada framework frontend javascript, browser langsung akan memahami javascript dan merender tampilan sesuai yang ada pada javascript,tapi pada template engine sebelum file-file untuk website dikirim ke browser client, server akan mengubah kode template tersebut menjadi html terlebih dahulu dan client akan menerima tampilan html lengkap dari server. Bahkan dengan hanya menggunakan javascript kita juga dapat membuat html dapat sedikit lebih "programble" dengan menggunakn dom(document object model). Dan itulah alasan kenapa html bukanlah bahasa pemograman. sumber: - https://ischool.syr.edu/why-html-is-not-a-programming-language/ - https://www.educative.io/edpresso/what-are-template-engines

Perbedaan bahasa pemograman static typing dan dynamic typing

13 May 2022
Alfarizi
#programming #bahasa pemograman Dalam bahasa pemograman tipe data adalah bagian penting karena tipe data akan memberitahu komputer tentang bagaimana data akan di olah kemudian.Beberapa bahasa pemograman memiliki cara pembuatan variabel yang berbeda ada yang dibuat bersama tipe data nya seperti c++ dan juga ada yang langsung dibuat tanpa tipe data seperti python,lalu kenapa c++ tidak seperti python saja agar lebih mudah?Ini dikarenakan c++ dan python berbeda kelompok dalam mendefinisikan tipe data,c++ masuk ke dalam bahasa static typing dan python masuk ke dalam dynamic typing.Lalu apa itu static dan dynamic typing?Berikut adalah penjelasan bahasa static dan dynamic typing. ## Jenis bahasa static typing Dalam bahasa indonesia static typing berarti bertipe statis,jadi tipe data variabel tidak bisa dirubah secara langsung.Bahasa static typing adalah bahasa yang tipe datanya harus ada saat pembuatan setiap variabel atau fungsi di dalam program.Dalam bahasa jenis static typing sebuah variabel yang akan diubah nilai nya,nilai yang baru harus mengikuti tipe data saat pembuatan variabel,misal jika sebuah variabel dibuat dengan tipe data `int` maka jika kita ingin memasukan atau mengubah nilai variabel,nilai yang baru haruslah sebuah `int` atau bilangan bulat jika tidak pasti akan ada error yang muncul,contoh pembuatan variabel pada c++ : ```c++ // pembuatan variabel dengan tipe data int(bilangan bulat) int angka; // memasukan angka 6 ke dalam variabel angka = 6; // error,karena tipe data yang di masukan adalah string sedangkan tipe data variabel nya adalah int(bilangan bulat) angka = "Hallo"; cout << angka; ``` Umumnya bahasa jenis static typing adalah bahasa yang menggunakan compiler jadi jika ada error yang muncul,compiler akan memberitahu sebelum program di eksekusi oleh komputer,selain itu karena kita yang mendefinisikan tipe data,bahasa static typing akan di eksekusi lebih cepat dan juga membantu proses pengembangan karena setiap variabel atau fungsi yang dibuat memiliki tipe data yang jelas dan tidak ambigu,yang pasti kekurangan dari bahasa jenis ini adalah penulisannya yang sedikit lebih rumit dan lama apalagi saat membuat tipe data kompleks seperti array,list, atau dictionary.Contoh bahasa static typing : c,c++,rust dan lainnya. ## Jenis bahasa dynamic typing Kebalikan dari static typing,dynamic typing memilki arti bertipe dinamis jadi tipe data variabelnya bisa berubah ubah selama program berjalan.Setiap variabel atau fungsi yang dibuat tidak perlu menggunakan tipe data karena tipe data pada variabel akan disesuaikan saat program dijalankan.Kita dapat dengan bebas mengubah nilai dari variabel dengan tipe data apapun tanpa ada erorr yang muncul.Contoh pembuatan variabel pada python : ```python # tidak ada error meski setiap baris variabel "a" memiliki nilai yang berbeda tipe data a = 1 a = "yes" a = {"a":1,"b":2} print(a) ``` Penulisan sintaks pada bahasa pemograman jenis ini juga lebih simpel daripada jenis static typing karena tidak perlu memberi tahuinterpreter tentang tipe data yang digunakan ,tapi karena ke simpelan itulah ada kekurangan yang muncul contohnya karena tidak ada tipe data kode menjadi agak sulit dibaca apalagi jika jumlah kodenya sangat banyak,dan karena kebanyakan bahasa dynamic typing menggunakan intepreter error tidak muncul sampai saat menjalankan baris yang error dan bisa membuat proses debugging agak lebih sulit dibanding jenis bahasa static typing yang diberitahu saat melakukan kompilasi sebelum di eksekusi,selain itu karena tipe data baru ditambahkan saat melakukan eksekusi proses eksekusi jadi sedikit lebih lambat daripada jenis bahasa static typing.Contoh bahasa dynamic typing : python,php,javascript,ruby,lua,perl dan lainnya. Dan itulah penjelasan tentang perbedaan antara bahasa static dan dynamic typing. sumber : - https://pythonistaplanet.com/difference-between-statically-and-dynamically-typed-languages/ - https://refactory.id/post/5974-static-typing-dan-dynamic-typing-apa-bedanya/ - https://blog.dot.co.id/static-typing-vs-dynamic-typing-dcb00da5d986 - https://anwarkholidi.wordpress.com/2020/09/13/statically-typed-vs-dynamically-typed-dalam-bahasa-pemrograman/

Perbedaan compiler dan interpreter

11 May 2022
Alfarizi
#programming #bahasa pemograman Dalam dunia pemograman kita harus berkomunikasi dengan komputer untuk memberikan instruksi dan perintah ke komputer.Tapi sayangnya komputer tidak bisa memahami bahasa manusia dan perlu bahasanya sendiri, yaitu bahasa mesin.Bahasa mesin tidak memiliki huruf atau simbol seperti bahasa manusia melainkan hanya memiliki 0 dan 1 sebagai instruksi menjalankan perintah.Bahasa mesin sangat sulit dipahami dan juga sulit untuk menulis perintah komputer dengan bahasa tersebut.Maka diciptakanlah program yang mampu menerjemahkan perintah manusia dalam bentuk source code(kode sumber) ke bahasa mesin, yaitu compiler dan interpreter.Berikut adalah pengertian dan perbedaan untuk kedua program tersebut. ### Pengertian compiler Compiler adalah program yang menerjemahkan seluruh source code secara langsung dan kemudian menerjemahkannya ke bahasa mesin.jika ada error maka compiler akan langsung menampilkannya dan langsung memberhentikan proses compiling.output yang dihasilkan compiler adalah file executable yang sesuai dengan os yang digunakan.Contoh bahasa compiler adalah : C,C++,C#,D,Go,Haskell dan lain sebagainya. ### Pengertian interpreter Berbeda dengan compiler interpreter tidak langsung menerjemahkan source code, melainkan langsung dieksekusi perbaris.interpreter akan terus mengeksekusi kode hingga muncul error pada baris yang di sedang di eksekusi.Bahasa interpreter tidak memiliki output jadi untuk mengeksekusi program di komputer lain kita butuh source code dan jenis interpreter yang sama.Contoh bahasa interpreter adalah : Python,Ruby,PHP,Javascript,PHP dan lain sebagainya. Untuk menentukan mana yang lebih baik,bahasa pemograman jenis compiler atau intepreter memiliki keuntungan dan kelemahannya masing masing,seperti bahasa yang berbasis compiler memiliki kecepatan eksekusi yang lebih cepat tetapi memiliki kecepetan yang lebih lambat pada saat menerjemahkan kode dibanding dengan bahasa interpreter yang langsung mengeksekusi tanpa perlu menerjemahkan seluruh source code.Tetapi bahasa interpreter lebih lambat saat eksekusi karena tidak seperti bahasa compiler yang menerjemahkan source code ke bahasa mesin yang bisa langsung di eksekusi komputer.Jadi terserah kalian memilih jenis bahasa yang mana, keduanya memilki tujuan yang sama dan memiliki kelebihan dan keuntungannya masing masing.

Apa itu paradigma pemograman

11 May 2022
Alfarizi
#programming #bahasa pemograman ## Apa itu paradigma pemograman Paradigma pemograman adalah klasifikasi bahasa pemograman berdasarkan fitur yang dimilikinya,fitur2 itu lah yang akan membantu programmer dalam menyelesaikan suatu masalah.Jumla paradigma pemogrman ada bermacam macam tapi disini kita kita akan membahas 4 paradigma pemograman yaitu functional,procedural,object oriented dan declarative,berikut adalah penjelesan masing2 paradigma pemograman ### 1.Pemograman fungsional pemograman fungsional atau functional programming adalah paradigma pemograman dimana permasalahan akan diselesaikan menggunakan susunan fungsi seperti yang ada di matematika,jadi setap input yang dimasukan ke fungsi akan diolah di dalam fungsi dan akan dikembalikan nilainya. Contoh bahasa pemograman fungsional : Haskell,Erlang,Clojure dll ### 2.Pemograman prosedural Pemograman prosedural adalah paradigma pemograman dimana programmer harus meninput serangkaian perintah yang berurut untuk menyelasaikan suatu masalah,jika tidak dalam urutan yang benar program pastinya akan mengalami error.Paradigma ini terinspirasi dar mesin von newman dimana sekelompok memori dibedakan menjadi memori instruksi dan memori data,masing2 memori dapat diberikan nama dan nilai yang kemudian akan di eksekusi satu persatu secara urut oleh proses tunggal. contoh bahasa pemograman prosedural : C,Pascal,COBOL dll ### 3.Pemograman orientasi objek Pemograman berorientasi objek adalah paradigma pemograman yang menyelesaikan masalah berorientasi kepada objek karena setiap data dan fungsi yang ada sudah dikemas di dalam objek atau kelas2 yang terpisah,di masa sekarang hampir semua bahasa pemograman yang populer merupakan jenis object oriented programming karena kode akan mudah di urus dan dibaca karena mengikuti model objek layaknya seperti di kehidupan nyata. contoh bahasa pemograman orientasti objek : Java,C#,Python dll ### 4.Pemograman deklaratif Pemograman deklaratif atau declarative programming adalah paradigma pemograman yang menyelsaikan masalah dengan menjelaskan apa yang kita inginkan ke komputer kemudian komputer akan menyelsaikan sisanya. contoh bahasa pemograma deklaratif : PROLOG,SQL,Miranda dll Itulah penjelasan mengenai 4 paradigma pemograman,semoga blog ini bisa bermanfaat dan membantu.Terimakasih sumber : - https://medium.com/@larasn_/paradigma-pemrograman-16480e154f2d - https://www.monitorteknologi.com/apa-itu-functional-programming/ - https://id.wikipedia.org/wiki/Paradigma_pemrograman

Apa itu node js

11 May 2022
Alfarizi
#web dev #backend #bahasa pemograman Seperti yang kita tau javascript adalah satu2nya bahasa pemograman yang merupakan bagian 3 bahasa wajib web development,javascript tampak powerfull dan dapat diandalkan dalam web dev, tapi sayangnya javascript hanya bisa dijalankan di lingkungan browser.Tapi ada satu teknologi yang "membebaskan" javascript dari browser yaitu node js,dengan node js seorang developer mampu membuat aplikasi dengan javascript tanpa tergantung oleh browser seperti,aplikasi command line,aplikasi desktop,server website,api dll. ## Apa itu node js Node js adalah software runtime enviroment atau singkatnya tempat untuk menjalankan javascript diluar browser yang dibuat oleh Ryan Dahl pada tahun 2009.Node js juga merupakan software open source dan cross platform sehingga dapat digunakan di berbagai os,dan pastinya gratis.Node js dibangun menggunakan V8 javscript engine dari google sehingga kode javascript dapat lebih cepat di eksekusi dan memiliki performa yang tinggi.Dengan node js juga javascript yang awalnya merupakan bahasa front end kini sudah bisa menjajal dunia back end,hal ini sangat membantu para web developer yang tinggal mempelajari lebih lanjut dari bahasa javascript ini dan tidak perlu mempelajari bahasa back end lain,seperti php,python,ruby atau c# atau bisa hanya menggunakan 3 bahasa web(html,css,js). ## Fitur node js Node js memiliki beberapa fitur sebagai berikut : 1. **Performa yang tinggi dan asynchronous** seperti yang dikatakan di atas,dengan V8 javascript engine dari google node js dapat mengeksekusi kode dengan performa yang tinggi. 2. **Asynchronous dan event driven** Semua proses di node js dijalankan secara asynchronous artinya proses dapat berjalan tanpa harus menunggu proses lainnya selesai,dan node js menggunakan event driven sehingga setelah suatu proses selai maka node js akan mengirimkan notifikasi atau sinyal untuk menjalankan proses sebelumnya 3. **Tidak perlu server eksternal** Node js memiliki library bawaan yang memampukan membuat server lokal tanpa bantuan software lain seperti apache atau nginx dan masih banyak lagi ## Contoh jenis aplikasi yang dibuat menggunakan node js 1. Aplikasi desktop 2. Aplikasi command line 3. Fullstack website 4. Api(application programming interface) 5. Spa(singgle page aplication) 6. IoT(internet of things) Nah itulah penjelasan singkat tentang node js.dengan node js javascript yang awalnya hanya bisa digunakan di browser kini dapat digunakan untuk berbagai hal yang diluar pengembangan web,dan dengan node js web semakin mudah dibuat tanpa harus mempelajari bahasa pemograman diluar 3 bahasa web.